Modern telecommunications systems and networks are generally built around digital networks that were originally designed for transmitting telephone conversations. These systems and networks typically use digital techniques to multiplex many communication channels designed to carry voice transmissions onto individual transmission facilities (e.g., copper wire, coaxial cable, and optical fiber). One such digital technique, Time Division Multiplex ("TDM"), divides the data transmission bandwidth of the transmission facility into equal sized time slots, which have the exact size needed to carry a telephone voice conversation. TDM generally served its purpose when the network was primarily used for standard, telephony voice transmission, but today telecommunications networks are being used to transmit computer data, video information, and voice information from cellular and traditional telephones alike. Each of these applications have varying data transmission bandwidth requirements that differ from each other and from requirements associated with traditional telephony. As a result, traditional digital techniques, such as TDM, have encountered a number of problems in recent years.
Asynchronous Transfer Mode ("ATM") techniques have provided a new way of dividing the bandwidth of the transmission facilities, physical interfaces, and switches of a network. Where TDM uses time slots to divide the bandwidth into fixed size channels, ATM uses 53 byte cells to divide the bandwidth into virtual channels. Each cell includes a header that identifies a virtual path and virtual channel to which the cell belongs. Cells can be allocated to a virtual channel in response to the needs of the users sending information over the virtual channel and the limits of the transmission facilities, physical interfaces, and switches that carry the virtual channel. Virtual paths are used to group certain virtual channels together to aid in the management and routing of the virtual channels.
To create a virtual path through an ATM network, virtual path connections must be made through each switch that the virtual path traverses, connects, or through which the virtual path connection extends. Similarly, to create a virtual channel through an ATM network, virtual channel connections must be constructed through each switch that the virtual channel traverses, connects, or through which the virtual channel extends. Virtual channel connections can be made through provisioning by the operator, which is called a Permanent Virtual Connection ("PVC"). Alternatively, virtual channel connections can be made through the use of signaling messages to request a connection, which is called a Switched Virtual Connection ("SVC").
A request for either a virtual path connection or a virtual channel connection, whether it is a PVC or SVC, typically includes the quality of service and traffic parameters that characterize the connection. The parameter corresponding to the quality of service indicates whether the requestor of the connection requires any guarantees from the network to transport data over the connection at a certain rate, which is described by the traffic parameter corresponding to the traffic. Parameters corresponding to traffic include features, such as peak cell rate, average cell rate, and cell delay variation. Parameters corresponding to traffic generally describe the network bandwidth that will be taken up by the connection.
When a request is made to set up a virtual channel connection through an ATM switch, software found in the ATM switch determines if the ATM switch and physical interfaces through which the connection is to be made can support the requested bandwidth, which is generally called Connection Admission Control ("CAC"). When a virtual channel connection is requested, it must be placed in a virtual path, so that the CAC software can determine if there is enough bandwidth remaining in the virtual path to support the new virtual channel connection. Since virtual channel connections can only be made over existing virtual paths, virtual paths provide a way to control the maximum bandwidth taken up by virtual channels in the network and, as a result, are helpful in managing the bandwidth in an ATM network. However, because virtual paths are manually provisioned in a switch, the management capabilities that they provide are inflexible and static.
In addition, large private communications networks can span a vast geographic area. In practice, it is cost prohibitive for private networks to install its own transmission facilities between different sites. Instead, private networks often lease dedicated transmission lines from a public carrier (e.g., AT&T or MCI). As a general rule, these leased lines are "nailed up" and are designed to provide full transmission capacity 24 hours a day regardless of its actual utilization. A large mesh of leased lines is typically required to provide connections between every site of a network. Furthermore, each private network will require its own mesh of leased lines. Private networks using leased lines are very expensive, because of the inefficient use of resources. Public carriers have attempted to solve this problem by allowing multiple clients to utilize the carrier's facilities and through software control have them appear as individual dedicated leased lines. This software controlled utilization then forms what has been called a Virtual Private Network ("VPN"). In order for a VPN network to function, it must effectively divide the bandwidth between different customers. Unfortunately, however, existing systems do not adequately address the concern of whether each client consumes an appropriate, necessary portion of the shared resources. There does not presently exist any way to dynamically manage stored resources on a continuous, ongoing, real-time basis.
Existing designs and procedures have other problems as well.